- Assume that you need to disable all ligature printing, you
are printing at a very small font size, and ligatures do not print out
legibly.
To do this, you should copy the dvnc.ifm file to sdvnc.ifm, and remove all
ligature definitions from sdvnc.ifm.
Ligature definitions are those which contain two consonants separated by
a dash: examples:
CCS tta-tta tmplA ;
CC tta-tta-implicit 1 ; PCC 147 0 0 ;
All such ligature definitions can be deleted from sdvnc.ifm.
And then, in your input file that contains the transliterated text, add
the command:
\indianifm=sdvnc.ifm
(See the user manual on itrans for more information on the indianifm
keyword.)
Now, no ligatures are available, and nothing needs to be done to the
input text at all to suppress the ligatures.
Instead of the ligatures, the half-forms of the consonants will be used
wherever required.
- Another use would be if you do not like the spacing of certain
characters when they are composed to form consonant forms.
Well, as seen in the previous example, it is quite simple to copy the IFM
file into a new one, change the deltas (the numbers) as required, and use
the new IFM in the input text.
- By changing the character definitions in the IFM file, one can
produce different printed forms for the character.
For example, to print the normal form of ii in devanagari prints out
as: ii .
Now, what if you need to make it print out as: a‡
?
This is easily done, just comment out the old definition of the ii
character (it is called ii in the ifm file, and make it read:
Comment -I- CC ii 2 ; PCC 97 0 0 ; PCC 132 0 0 ;
Now, all instances of ii in the input text will print out as:
a‡?
This method can be used to change any character form you need, as long as
the constituent parts of the new character are available in the font.
- You have received a new font, either you developed it yourself, or
got it elsewhere, and you would like to use it through the itrans
mechanism.
This involves two steps.
First, you need to map the vowels and consonants available through itrans
(see figures 1 and 2) to the font characters.
Second, you create a IFM file for the font.
The first step is the biggest hurdle, especially if you feel that you
need to add new consonant names to ilex.l.
(Of course, that implies lots of source code changes: now iyacc.y will
have to be modified to accept the new token, imap.h will have to edited
to add the codename for the font, and font.c will have to be edited to
add the new codename into a static data structure!)
If that happens, send me e-mail, maybe I will permanently add the name to
ilex.l, but I hope that current set of names accepted by ilex.l will
suffice.
If they do, then no source code changes are necessary, just need to
create the IFM file and you are in business.
If you wish, you could send me the IFM file you create, and the font
(if it is in public domain, otherwise the IFM file only will suffice),